All of the material in this patent document is subject to copyright protection under the copyright laws of the United States and of other countries. Portions of the material in this patent document are also subject to protection under the maskwork registration laws of the United States and of other countries. The owner of the copyright and maskwork rights has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the United States Patent and Trademark Office file or records, but otherwise reserves all copyright and maskwork rights whatsoever.
1. Field of the Invention
The present invention relates generally to systems for recording time expended in performing tasks, and more particularly, to systems for automatically recording time and predetermined activity performed on a wireless device by monitoring file activity and the like.
2. Background of the Invention
Telecommuting refers to work being done at locations other than a central location. Telecommuters are typically knowledge workers who work primarily on tasks, which require mental or intellectual activity, rather than on tasks which require physical or capital intensive work at a central location. Many telecommuters use personal computers at their remote work site. One of the biggest obstacles to implementation of telecommuting is that managers would not be able to tell if their telecommuting employees were actually working. Another obstacle is the problem of how to measure the productivity of telecommuting employees. A manager needs to trust that a telecommuting employee is working and trust is developed through quality communications between the central site and the remotely located telecommuting worker.
Several important business economic concerns are all positively affected by telecommuting, including: maintaining or increasing productivity; decreasing office space needs; attracting or retaining critical skills among the staff; and compliance with air quality or other environmental regulations.
Professional knowledge workers, such as computer programmers, bill their time for work done on their computers. The problem of how to monitor their time and activities on their computer, as well as how to automatically calculate the cost of these activities for accounting purposes, needs to be solved. Many invoicing systems rely on the manual inputting of the billable time and a technique is required to determine the accuracy of that billed time. In the custom software programming business, specifications often change so that more time is expended than is originally projected and a customer needs to receive accurate documentation for additional time to be billed.
Therefore, there is a need that exists to selectively and automatically measure the actual amount of work done on various projects on a computer or personal computing device by an operator, such as a telecommuter. The measurement of the actual amount of work done may be accomplished at either a local site, at a site on a network where the user has a number of input devices, or at a remote location. The invention disclosed herein, as well as in U.S. Pat. No. 6,185,514, which is hereby incorporated by reference in its entirety, serves to satisfy this need, as well as others.
Wireless Devices
The proliferation of wireless communications has further enhanced productivity. Wireless devices offer additional opportunities for tracking and/or monitoring work, such as file activity and the like. There are four (4) general operating types of wireless devices currently available. These include: (1) Streaming audio/video devices, such as cellular phones; (2) Personal Data Assistants (PDAs), which are portable messaging and database computing devices, such as the Palmxc3xa2 Pilot, Blackberryxc3xa2, and PocketPCxc3xa2 devices, for instance; (3) General purpose computing devices, such as notebook computers configured with Bluetoothxc3xa2 or other wireless connectivity, including WiFi and IEEE 802.11 connectivity, for instance; and Non-computing appliances, which are dedicated purpose computing devices, such as xe2x80x9csmartxe2x80x9d refrigerators, automobiles, or microwaves to name a few.
As with computing devices that are stand-alone or rely on a conventional wired connection, many telecommuters now perform work activities on wireless devices. For the same reasons that it is desirable to measure the actual amount of work performed on a stand-alone or wired computing device, it is desirable to measure similar activities on wireless devices. For instance, a work activity for a user might comprise a cellular telephone call. It would be desirable to track and monitor the time spent on the cellular phone call. Currently, however, there is no manner in which to monitor the actual work activities performed on a wireless device.
An object of the invention is to automatically collect and analyze information about time expended and work performed on a wireless device. The term work is used broadly and includes, but is not necessarily limited to, any meaningful activity the accounting of which may be of some significance. According to the present invention, a time and work tracking function is initiated on a wireless device. Thereafter, a user begins to perform one or more activities on the wireless device. As the user performs activities, the time and work tracking function collects data relating to the activities performed by the user, classifies the activities, determines which activities constitute meaningful work, and records the amounts of time spent on each activity also taking into account for idle periods where no activity occurs.
In one embodiment, the data collection occurs on the wireless device, for instance by generating a log file or storing data in a memory location regarding the activities performed and the time spent on each activity. Thereafter, a synchronization event occurs between the wireless device and a general purpose computing device, wherein the collected data (e.g., the log file or memory area) is transferred to the general purpose computer and the analysis of the data is performed there, rather than on the wireless device itself. This is useful, for instance when the wireless device is limited in its storage and processing capabilities. Alternatively, the collection and analysis of the data can occur wholly the wireless device or wholly on the server-side.
Wireless devices that may be used with the present invention include, for instance: streaming audio/video devices, such as cellular phones; PDAs; general purpose computing devices, such as notebook computers configured with Bluetoothxc3xa2 or other wireless connectivity, including WiFi and IEEE 802.11 connectivity, for instance; and non-computing appliances, such as smart refrigerators, automobiles, and microwaves.
The types of activities that are tracked on the wireless device include: e-mail activities such as sending or receiving an e-mail; sending and receiving activities unrelated to e-mail; generic protocol I/O operations; radio activity; infrared activity; and streaming activity. Other types of activities that are tracked on the wireless device include: voice recognition activities, database accesses, custom applications, use of a Virtual Machine, such as Javaxc3xa2or Microsoftxc3xa2 implementation, synchronization activities, uploads, downloads, setup and installation activities, and the use of conduits.
In one embodiment, a data collection function is instantiated in the memory of the wireless device. The function embeds itself as a hook between the operating system that controls the device and the application that the user interfaces with when performing the activities. The function executes in the background while the user runs other programs, and as the user changes the internal state of the programs (i.e., performs an activity), the function observes and records the state changes as well as the times the changes took place. An analysis function is also instantiated is a hook embedded between the operating system and the user applications and is configured to determine which state changes in the application constitute work (based upon user defined rules), who performed the work (based upon identification criteria), and how long it took to perform the work (based upon an activity timer).
In one embodiment, the data collector classifies all activities as either having a start, continue, or switch indication. As the data analyzer scans through the data collector, it starts a timer when a start event is reached. When there is a switch indication or a new activity starts, A new timer is initiated for the new event. The timer is configured to have an idle timeout period wherein an idle period is pre-determined and if a user initiates a work activity and then remains idle before starting a new activity, the timer stops when the idle period has passed. The activities that constitute work may be inputted to the system via a user interface before (or after) the time and work tracking begins.
Further objects and advantages of the invention will be brought out in the following portions of the specification, wherein the detailed description is for the purpose of fully disclosing preferred embodiments of the invention without placing limitations thereon.